package com.zhijian.warehouse.manage.entity.vo.request;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.Min;
import java.io.Serializable;

/**
 * 消息通知 查询条件vo
 *
 * @author HCG
 * @version 1.0
 * @date 2022-06-07 15:54:02
 */
@Data
@Api(tags = "消息通知查询条件vo")
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class MessageSearchVo implements Serializable {

    private static final long serialVersionUID = -1;

    /**
     * 页码
     */
    @ApiModelProperty("页码")
    @Min(value = 1, message = "页码最小为1")
    private Integer pageNum;

    /**
     * 数据库查询参数，前端忽略
     */
    @ApiModelProperty(value = "页码", hidden = true)
    private Integer startIndex;

    /**
     * 条数
     */
    @ApiModelProperty("每页显示的条数")
    @Min(value = 1, message = "每页显示的条数最小为1")
    private Integer pageSize;

    /**
     * 接收类型，0：pc，1：移动端
     */
    @ApiModelProperty(value = "接收类型，0：pc，1：移动端", hidden = true)
    private Byte receiveType;

    /**
     * 接收用户id，当接收类型为pc的时候，此字段为空
     */
    @ApiModelProperty(value = "接收用户id，当接收类型为pc的时候，此字段为空", hidden = true)
    private Long receiveUserId;

    /**
     * 是否已读，0：未读，1：已读，当接收类型为移动端的时候，此字段为空
     */
    @ApiModelProperty(value = "是否已读，0：未读，1：已读，当接收类型为移动端的时候，此字段为空", hidden = true)
    private Byte weatherRead;

    /**
     * 类型，
     * WEB(7, "web端弹窗"),
     * OA(8, "公众号"),
     * MP(9, "小程序"),
     * SMS(10, "短信"),
     * VOICE(11, "电话");
     */
    @ApiModelProperty("类型，WEB(7, \"web端弹窗\"),OA(8, \"公众号\"),MP(9, \"小程序\"),SMS(10, \"短信\"),VOICE(11, \"电话\");")
    private Byte type;

    /**
     * 业务类型，1：设备告警
     */
    @ApiModelProperty("业务类型，1：设备告警")
    private Byte serverType;

}